home *** CD-ROM | disk | FTP | other *** search
-
-
-
- CHMOD C Library Procedures CHMOD
-
-
-
- NNAAMMEE
- chmod, fchmod - change mode of file
-
- SSYYNNOOPPSSIISS
- cchhmmoodd((ppaatthh,, mmooddee))
- cchhaarr **ppaatthh;;
- iinntt mmooddee;;
-
- ffcchhmmoodd((ffdd,, mmooddee))
- iinntt ffdd,, mmooddee;;
-
- DDEESSCCRRIIPPTTIIOONN
- The file whose name is given by _p_a_t_h or referenced by the
- descriptor _f_d has its mode changed to _m_o_d_e. Modes are con-
- structed by _o_r'ing together some combination of the follow-
- ing, defined in <_s_y_s/_s_t_a_t._h>:
-
- S_ISUID 04000 set user ID on execution
- S_ISGID 02000 set group ID on execution
- S_ISVTX 01000 `sticky bit' (see below)
- S_IREAD 00400 read by owner
- S_IWRITE 00200 write by owner
- S_IEXEC 00100 execute (search on directory) by owner
- 00070 read, write, execute (search) by group
- 00007 read, write, execute (search) by others
-
- If an executable file is set up for sharing (this is the
- default) then mode S_ISVTX (the `sticky bit') prevents the
- system from abandoning the swap-space image of the program-
- text portion of the file when its last user terminates.
- Ability to set this bit on executable files is restricted to
- the super-user.
-
- If mode S_ISVTX (the `sticky bit') is set on a directory, an
- unprivileged user may not delete or rename files of other
- users in that directory. For more details of the properties
- of the sticky bit, see _s_t_i_c_k_y(8).
-
- Only the owner of a file (or the super-user) may change the
- mode.
-
- Writing or changing the owner of a file turns off the set-
- user-id and set-group-id bits unless the user is the super-
- user. This makes the system somewhat more secure by pro-
- tecting set-user-id (set-group-id) files from remaining
- set-user-id (set-group-id) if they are modified, at the
- expense of a degree of compatibility.
-
- RREETTUURRNN VVAALLUUEE
- Upon successful completion, a value of 0 is returned. Oth-
- erwise, a value of -1 is returned and _e_r_r_n_o is set to indi-
- cate the error.
-
-
-
- Sprite v1.0 May 13, 1986 1
-
-
-
-
-
-
- CHMOD C Library Procedures CHMOD
-
-
-
- EERRRROORRSS
- _C_h_m_o_d will fail and the file mode will be unchanged if:
-
- [ENOTDIR] A component of the path prefix is not a
- directory.
-
- [EINVAL] The pathname contains a character with the
- high-order bit set.
-
- [ENAMETOOLONG] A component of a pathname exceeded 255 char-
- acters, or an entire path name exceeded 1023
- characters.
-
- [ENOENT] The named file does not exist.
-
- [EACCES] Search permission is denied for a component
- of the path prefix.
-
- [ELOOP] Too many symbolic links were encountered in
- translating the pathname.
-
- [EPERM] The effective user ID does not match the
- owner of the file and the effective user ID
- is not the super-user.
-
- [EROFS] The named file resides on a read-only file
- system.
-
- [EFAULT] _P_a_t_h points outside the process's allocated
- address space.
-
- [EIO] An I/O error occurred while reading from or
- writing to the file system.
-
- _F_c_h_m_o_d will fail if:
-
- [EBADF] The descriptor is not valid.
-
- [EINVAL] _F_d refers to a socket, not to a file.
-
- [EROFS] The file resides on a read-only file system.
-
- [EIO] An I/O error occurred while reading from or
- writing to the file system.
-
- SSEEEE AALLSSOO
- chmod(1), open(2), chown(2), stat(2), sticky(8)
-
-
-
-
-
-
-
-
- Sprite v1.0 May 13, 1986 2
-
-
-
-